<?php

interface ConciergeInterface {
	public function __construct(&$mysqli);
	
	public function registerPrincipal($name, $key, $callback_url);
	public function unregisterPrincipal($name);
	public function authenticatePrincipal($name, $key);
	
	public function registerTagInterest($name, array $tags);
	public function unregisterTagInterest($name, array $tags);
	public function unregisterAllTagInterests($name);
	public function getTagInterests($name);
	
	public function registerGlobalInterest($name);
	public function unregisterGlobalInterest($name);
	
	public function registerPrincipalInterest($name, $other);
	public function getPrincipalInterests($name);
	public function unregisterPrincipalInterest($name, $other);
	public function unregisterAllPrincipalInterests($name);
	
	public function unregisterAllInterests($name);
	
	public function postMessage($sender_name, $content, array $tags);

	public function getPrincipalInterestStream($name, $since = 0, $limit = 1000);
	public function getPrincipalStream($name, $since = 0, $limit = 1000 );
	public function getGlobalStream($since = 0, $limit = 1000);
	public function getTaglistStream(array $tags, $since = 0, $limit = 1000);
}


?>